package com.ftg.learn.chapter07;

public class Demo1 {

    public static void yi(int hang,int lie){
        for(int i = 0;i<hang;i++){
            for(int j = 0;j<lie;j++){
                System.out.print(j >= lie/2-i && j<=lie/2+i?"*\t":"\t");
            }
            System.out.println();
        }

        for(int i = hang-1-1;i>=0;i--) {
            for (int j =0; j < lie; j++) {
                System.out.print(j >= lie / 2 - i && j <= lie / 2 + i ? "*\t" : "\t");
            }
            System.out.println();
        }

    }
    //另一种方法
    public static void er(int hang,int lie){
        for(int i = 0;i<hang;i++){
            for(int j = 0;j<lie;j++){
                System.out.print(j >= hang / 2 - i && i <= hang / 2 + j ? "*\t" : "\t");
            }
            for(int j = lie-1-1;j>=0;j--){
                System.out.print(j >= hang / 2 - i && i <= hang / 2 + j ? "*\t" : "\t");
            }
            System.out.println();
        }
    }

/*
   1
  121
 12321
1234321
 */
    public static void san(int num){
        for(int i = 1;i<num;i++){
            for(int j = num;j>1;j--){
                if(i<j){
                    System.out.print(" ");
                }
            }
            for(int j = 1;j<=i;j++){
                System.out.print(j);
            }
            for(int j = i-1;j>0;j--){
                System.out.print(j);
            }
            System.out.println();
        }
    }

    /**
     *
     *
     */
    public static void si(int num){
        int sum=1;
        for(int i = 1;i<num;i++){
            for(int j = 0;j<i;j++){
//                System.out.print(sum++ + "\t");
                System.out.print(i+j+"\t");
            }
            System.out.println();
        }
    }

    public static void wu(int num){
        int sum = 1,sum2=2;
        for(int i = 1;i<num;i++){
            for(int j =num;j>0;j--){
                if(i<j){
                    System.out.print("\t");
                }
            }
            for(int j = 1;j<=i;j++){
                System.out.print(sum++ +"\t");
            }
            for(int j = i-1;j>0;j--){
                System.out.print(sum2++ +"\t");
            }
            System.out.println();
        }
    }
    /**
     * 1  2  3  4  5  6
     * 12 11 10 9  8  7
     * 13 14 15 16 17 18
     * 24 23 22 21 20 19
     */
    public static void liu(int hang,int lie){
        int sum = 1;
        for(int i = 0;i<hang;i++){
            if(sum<6){
                for(int j = 0;j<lie;j++){
                    System.out.print(sum++ + "\t");
                }
                System.out.println();
            }
            if(sum>6 && sum<12){
                sum+=5;
                for(int j = 0;j<lie;j++){
                    System.out.print(sum-- +"\t");
                }
            }
            System.out.println();
            if(sum < 7){
                sum+=7;
                for(int j = 0;j<lie;j++){
                    System.out.print(sum++ + "\t");
                }
                System.out.println();
            }
            if(sum > 18){
                sum+=5;
                for(int j = 0;j<lie;j++){
                    System.out.print(sum-- + "\t");
                }
                System.out.println();
            }
        }
    }
    public static void qi(int hang,int lie){
        for(int i = 1;i<=hang;i++){
            if(i%2==0){
                for(int j = lie*i;j>(i-1)*lie;j--){
                    System.out.print(j+"\t");
                }
                System.out.println();
            }else{
                for(int j = lie*i-lie+1;j<=i*lie;j++){
                    System.out.print(j+"\t");
                }
                System.out.println();
            }
        }


        int sun=1;
        for (int i = 1,len=31; i < len; i++) {
            for (int j = 1,jlen=7; j < jlen; j++) {
                int num=sun++;
                System.out.print(i%2==1?(num++)+" ":((num--)+jlen-j*2) +" "); }
            System.out.println();
        }
    }
}
